New for Magellan II
To complement the dopus query command there is the dopus set
command. This command primarily allows you to change aspects of the
Opus GUI, that is, the Desktop and listers.
It allows you to customise your interface, and as such is used extensively
by the Opus Themes system. If you have any themes installed, then the
D5Themes: directory will contain a number of files labelled ????.theme .
Each one of these files is actually an ARexx script that contains a number
of dopus set commands that change the GUI in some way.
For example; fonts, palette, pens, backgrounds, sounds.
/* DopusBackground.dopus5 */
options results
address 'DOPUS.1'
address command 'Copy TuteRexx/Extras/2.iff RAM:'
dopus front
dopus set background 'RAM:2.iff' desktop tile custom /* Set the new background */
dopus refresh background custom /* Refresh the display */
address command wait 10 /* Wait 10 seconds */
dopus refresh background /* Refresh the display */
dopus back
address command 'Delete RAM:2.iff QUIET FORCE'
exit
/* DOpusSound.dopus5 */
options results
address 'DOPUS.1'
dopus front
address command 'Copy TuteRexx/Warning RAM: QUIET'
dopus query sound "'Open Lister'" /* What's the old sound? */
oldsound = result /* Save it */
dopus set sound "'Open Lister'" "'RAM:warning'" 64 /* Set the new sound */
lister new /* Open a lister */
handle = result /* Store it's handle */
address command wait 3 /* Wait 3 seconds */
lister close handle /* Close the lister */
dopus set sound "'Open Lister'" oldsound 64 /* Restore the old sound */
call delete('RAM:Warning')
exit
Below is the theme file for Trevor Morris' excellent Aliens theme, as you
see, it consists of mostly dopus set commands.
/* D5THEME
Alien.theme
Directory Opus 5.7 Theme File
*/
parse arg dopus_port apply_flags
if dopus_port='' then
dopus_port='DOPUS.1'
address value dopus_port
if apply_flags='' then
apply_flags='PFBS'
else
apply_flags=upper(apply_flags)
options results
options failat 21
/* Set background pictures */
if index( apply_flags , "B") ~= 0 then do
dopus set background on
dopus set background "'D5THEMES:Alien/Screens/Alien1.iff'" desktop tile precision icon border off
dopus set background "'D5THEMES:Alien/Screens/Marble.iff'" lister tile precision image border off
dopus set background "'D5THEMES:Alien/Screens/WhiteMarble.iff'" req tile precision exact border off
end
/* Set sound events */
if index( apply_flags , "S") ~= 0 then do
dopus set sound "'Bad disk inserted'" "'D5THEMES:Alien/Sounds/Alien_Default.snd'" 64
dopus set sound "'Close buttons'" "'D5THEMES:Alien/Sounds/Alien_Open.snd'" 64
dopus set sound "'Close group'" "'D5THEMES:Alien/Sounds/Alien_Open.snd'" 64
dopus set sound "'Close lister'" "'D5THEMES:Alien/Sounds/Alien_Open.snd'" 64
dopus set sound "'Disk inserted'" "'D5THEMES:Alien/Sounds/Alien_Twinkle.snd'" 64
dopus set sound "'Disk removed'" "'D5THEMES:Alien/Sounds/Alien_Drama.snd'" 64
dopus set sound "'FTP close connection'" "'D5THEMES:Alien/Sounds/Alien_Beep.snd'" 64
dopus set sound "'FTP connect fail'" "'D5THEMES:Alien/Sounds/Alien_Suspence.snd'" 64
dopus set sound "'FTP connect success'" "'D5THEMES:Alien/Sounds/Alien_Ring.snd'" 64
dopus set sound "'FTP copy fail'" "'D5THEMES:Alien/Sounds/Alien_Exclamation.snd'" 64
dopus set sound "'FTP copy success'" "'D5THEMES:Alien/Sounds/Alien_Elevator.snd'" 64
dopus set sound "'FTP error'" "'D5THEMES:Alien/Sounds/Alien_Error.snd'" 64
dopus set sound "'Hide'" "'D5THEMES:Alien/Sounds/Alien_Hiss.snd'" 64
dopus set sound "'Open buttons'" "'D5THEMES:Alien/Sounds/Alien_Restore.snd'" 64
dopus set sound "'Open group'" "'D5THEMES:Alien/Sounds/Alien_Restore.snd'" 64
dopus set sound "'Open lister'" "'D5THEMES:Alien/Sounds/Alien_Restore.snd'" 64
dopus set sound "'Reveal'" "'D5THEMES:Alien/Sounds/Alien_Warning.snd'" 64
dopus set sound "'Shutdown'" "'D5THEMES:Alien/Sounds/Alien_ShutDown.snd'" 64
dopus set sound "'Startup'" "'D5THEMES:Alien/Sounds/Alien_Startup.snd'" 64
end
/* Set fonts */
if index( apply_flags , "F") ~= 0 then do
dopus set font screen "'XHelvetica.font'" 11
dopus set font listers "'XEN.font'" 8
dopus set font iconsd "'XEN.font'" 8
dopus set font iconsw "'RSansSerif.font'" 8
end
/* Set colour settings*/
if index( apply_flags , "P") ~= 0 then do
dopus set pens icons 8 1 3 1 12 2
dopus set pens files 1 0
dopus set pens dirs 10 0
dopus set pens selfiles 1 8
dopus set pens seldirs 1 9
dopus set pens devices 10 0
dopus set pens assigns 1 0
dopus set pens source 1 11
dopus set pens dest 1 12
dopus set pens gauge 11 13
dopus set pens user 5
dopus set palette 0x969696 0x000000 0xFFFFFF 0x3C65A2 0x7000C0 0x804000 0x07000C 0x01058C 0xB4E494 0xC8FC00 0x004C94 0xFCFCD4 0xD8D8D8 0x183454 0xE8E8E8 0x505050
end
/* Refresh Opus */
dopus refresh all
|